Parallel Linear Algebra Software
نویسندگان
چکیده
In this chapter we discuss numerical software for linear algebra problems on parallel computers. We focus on some of the most common numerical operations: linear system solving and eigenvalue computations. Numerical operations such as linear system solving and eigenvalue calculations can be applied to two di erent kinds of matrix: dense and sparse. In dense systems, essentially every matrix element is nonzero. In sparse systems, a su ciently large number of matrix elements is zero that a specialized storage scheme is warranted; for an introduction to sparse storage, see [3]. Because the two classes are so di erent, usually di erent numerical softwares apply to them. We discuss ScaLAPACK and PLAPACK as the choices for dense linear system solving (see Section 13.1). For solving sparse linear systems, there exist two classes of algorithms: direct methods and iterative methods. We will discuss SuperLU as an example of a direct solver (see Section 13.2.1) and PETSc as an example of iterative solvers (see Section 13.2.2). For eigenvalue computation, the distinction between sparse and dense matrices does not play so large a role as it does in systems solving; for eigenvalues the main distinction is whether one wants all the possible eigenvalues and attendant eigenvectors, or just a subset, typically the few largest or smallest. ScaLAPACK and PLAPACK are packages that start with a dense matrix to calculate all or potentially part of the spectrum (see Section 13.1), while ARPACK (see Section 13.2.3) is preferable when only part of the spectrum is wanted; since it uses reverse communication, PARPACK can handle matrices in sparse format. In addition to numerical software operations, we discuss the issue of load balancing. We focus on two software packages, ParMetis and Chaco, which can be used in the above-mentioned sparse packages. We conclude this chapter with a list of software for linear algebra that is freely available on the Web [16].
منابع مشابه
Bind: a Partitioned Global Workflow Parallel Programming Model
High Performance Computing is notorious for its long and expensive software development cycle. To address this challenge, we present Bind: a ”partitioned global workflow” parallel programming model for C++ applications that enables quick prototyping and agile development cycles for high performance computing software targeting heterogeneous distributed manycore architectures. We present applica...
متن کاملTopic 10: Parallel Numerical Algorithms
Efficient and robust parallel and distributed algorithms with portable and easy-to-use implementations for the solution of fundamental problems in numerical mathematics are essential components of most parallel software systems for scientific and engineering applications. This topic provides a forum for the presentation and discussion of new developments in the area of parallel and distributed ...
متن کاملLooking back at dense linear algebra software
Over the years, computational physics and chemistry served as an ongoing source of problems that demanded the ever increasing performance from hardware as well as the software that ran on top of it. Most of these problems could be translated into solutions for systems of linear equations: the very topic of numerical linear algebra. Seemingly then, a set of efficient linear solvers could be solv...
متن کاملReducing Software Overheads in Parallel Linear Algebra Libraries
A list of technical reports, including some abstracts and copies of some full reports may be found at: Abstract. Software overheads can be a signiicant cause of performance degradation in parallel numerical libraries. This paper examines the nature and extent of software overheads in an implementation of parallel LAPACK on distributed memory multiprocessors, where block-partitioned algorithms w...
متن کاملComparative Study of One-Sided Factorizations with Multiple Software Packages on Multi-Core Hardware LAPACK Working Note ♯217
The emergence and continuing use of multi-core architectures require changes in the existing software and sometimes even a redesign of the established algorithms in order to take advantage of now prevailing parallelism. The Parallel Linear Algebra for Scalable Multi-core Architectures (PLASMA) is a project that aims to achieve both high performance and portability across a wide range of multi-c...
متن کاملToward the reusability for iterative linear algebra software in distributed environment
LAKe (Linear Algebra Kernel) is a linear algebra class library developed using an object oriented approach in order to enable a good reuse code for sequential or parallel linear algebra applications. An application implemented using LAKe can be run either in sequential or in parallel mode using the same code. This paper proposes an extension to the LAKe library, which enables an implemented met...
متن کامل